from loguru import logger
import os
import sys

# 定义日志文件路径
LOG_DIR = "logs"
LOG_FILE = os.path.join(LOG_DIR, "debug.log")

# 创建日志目录（如果不存在）
os.makedirs(LOG_DIR, exist_ok=True)

# 配置 logger
logger.remove()  # 移除默认的 logger 配置

# 添加控制台日志输出
logger.add(sys.stdout, level="INFO", format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {name}:{function}:{line} - {message}")

# 添加文件日志输出
logger.add(
    LOG_FILE,
    encoding='utf-8',
    level="DEBUG",
    format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {name}:{function}:{line} - {message}",
    rotation="10 MB",  # 日志文件大小达到 10MB 时轮转
    retention="30 days",  # 保留 30 天的日志
    compression="zip",  # 轮转后的日志文件压缩为 zip
    enqueue=True,  # 支持多线程和异步日志记录
)

# 导出 logger 供其他模块使用
__all__ = ["logger"]